1. Field of the Invention
The present invention relates to a secured access device with chip card applications.
More specifically, the invention relates to a device for secured access to chip card applications that uses especially instructions which, at each instant, provide information on rights, especially in terms of access to the memory of the chip card, the software component or the hardware operation that has been performed in the chip card.
2. Description of the Prior Art
The most common type of chip card has a microprocessor that manages a program memory. The program memory is usually dedicated to a single application or a set of applications loaded at the same time into the chip card. When several applications are loaded into a chip card, they have a close relationship with one another and are all designed for one and the same type of service. Thus, for example, a chip card cannot simultaneously play the role of a bank card and that of a customer loyalty card for a business of any kind.
In order to end this situation where each chip card has to be limited to one type of application, new software architectures are being considered. These new software architectures are making use of the development of standardized programming languages (for example the language xe2x80x9cJAVAxe2x80x9d) which resolve the problems of portability.
FIG. 1 is a simplified view of a software architecture of the chip card projects that are now being developed. The architecture shown in FIG. 1 comprises, in particular, a first part 110 that corresponds to what is called the software architecture of a chip card 100 and a second part 120 that corresponds to what is called the applications part of the software architecture of the chip card 100. The system part 110 of the chip card is essentially formed by a library of programs 112 of the chip card operating system, an interface 114 to manage the interactions with, for example, the microprocessor of the chip card or else the different memories of the chip card and a space for the management of hardware interruptions 116.
The applications part 120 of the software architecture consists of different applications:
a first, second and third main application, respectively 122, 124 and 126;
a first, second and third additional application, respectively 121, 123 and 125.
The main applications 122, 124 and 126 are written in a programming language that can be directly understood by the processor of the chip card.
The additional applications 121, 123 and 125 are typically applications encoded in a standardized language. These applications may be added at any point in time to the system part 110 in an applications part 120 of the software architecture described. In FIG. 1, the additional applications 121, 123 and 125 depend directly on the first main application 122. The first main application 122 herein serves as an interpreter between the additional applications and the operating system by converting the codes of the additional applications into a machine language that can be understood by the programs of the operating system 112.
The device with secured access to applications of a chip card according to the invention comes into play in an architecture of this type.
The software architecture that has just been described is more complex than the one currently existing in chip cards in circulation. Indeed, the architecture described assumes that it is possible to add applications in a standardized programming language, possibly after the chip card is put into circulation. It is therefore more complicated to achieve a satisfactory level of security than was the case when a single application or a group of applications dedicated to a single chip card function was loaded once and for all into the chip card which was then permanently limited in terms of available applications. The risk that a new application might disturb the working of previous applications was therefore not as great.
The coexistence of applications of different kinds in one and the same chip card may raise a certain number of problems. For example, a software architecture simultaneously containing an application dedicated to the assessment of a customer""s loyalty to a gasoline company and a standard banking application must ensure that a secret key used in the banking application cannot be read during the use of the application associated with the gasoline company.
It is an object of the present invention to overcome the problems that have just been described.
To this end, the invention proposes a device enabling the management of different software applications that are installed possibly at different times, or different hardware events, of a chip card while providing for high security. Thus, the device according to the invention offers the possibility of detection when the user of an application tries to exceed his rights for example by attempting to access data not intended for the application in question.
To achieve these goals, the invention proposes to set up specific instructions internal to the microprocessor of the chip card. These specific instructions are call instructions (DCALL) and return instructions (DRETURN). These call and return instructions are associated according to the invention with specific registers by which it can be ascertained that the operations performed by the application during execution in the chip card are authorized or not authorized.
The invention therefore pertains to a device for access to applications of a chip card comprising a microprocessor associated with an operating system working with a set of instructions, a program memory and a battery of applications in a memory of the chip card, wherein the device comprises:
a register of the microprocessor to store a code, on several check bits, proper to an entity brought into play,
a call instruction and an instruction for the return of the set of instructions to instantaneously and automatically update the register during the action by a new entity,
a checking device for the checking, as a function of the check bits, of the authorized character of the access to the zones of the memory of the chip card by the new entity that is called or comes into action in the chip card,
a first link to transmit the check bits from the microprocessor to the checking device.
According to a particular embodiment of the device of the invention, each new entity taking action is activated at a predefined address of a ROM (read-only memory) type memory of the chip card.
According to different embodiments of the invention, the entity working in the chip card may be an application of the battery of applications or a hardware event, or again the operating system associated with the microprocessor of the chip card.